package co.edu.eam.laapuesta.persistencia.dao;

import java.util.List;

import javax.persistence.EntityManager;
import javax.persistence.Query;

import co.edu.eam.laapuesta.persistencia.entidades.Boleta_Evento;
import co.edu.eam.laapuesta.persistencia.entidades.Evento;
import co.edu.eam.laapuesta.persistencia.entidades.Tipo_Evento;
import co.edu.eam.laapuesta.persistencia.entidades.Ubicacion;
import co.edu.eam.laapuesta.persistencia.idao.EventoIDAO;

public class EventoDAO implements EventoIDAO {

	private EntityManager em;

	public EventoDAO(EntityManager em) {
		this.em = em;
	}

	@Override
	public Evento buscarEvento(long id) {
		// TODO Auto-generated method stub
		return em.find(Evento.class, id);
	}

	@SuppressWarnings("unchecked")
	@Override
	public List<Tipo_Evento> listarTipoEvento() {
		// TODO Auto-generated method stub
		Query q = em.createNamedQuery(Tipo_Evento.FIND_ALL);
		return q.getResultList();
	}

	@SuppressWarnings("unchecked")
	@Override
	public List<Evento> listarEventos() {
		// TODO Auto-generated method stub
		Query q = em.createNamedQuery(Evento.FIND_ALL);
		return q.getResultList();
	}

	@SuppressWarnings("unchecked")
	@Override
	public List<Boleta_Evento> listarBoletasEvento() {
		// TODO Auto-generated method stub
		Query q = em.createNamedQuery(Boleta_Evento.FIND_ALL);
		return q.getResultList();
	}

	@Override
	public Boleta_Evento buscarBoletasEvento(long id) {
		// TODO Auto-generated method stub
		return em.find(Boleta_Evento.class, id);
	}

	@SuppressWarnings("unchecked")
	@Override
	public List<Ubicacion> listarUbicacionEvento() {
		// TODO Auto-generated method stub
		Query q = em.createNamedQuery(Ubicacion.FIND_ALL);
		return q.getResultList();
	}

	@Override
	public Ubicacion buscarUbicacionEvento(long id) {
		// TODO Auto-generated method stub
		return em.find(Ubicacion.class, id);
	}

}
